【PHP/演習問題】クラスメソッド[1]
問題
次の実行結果になる車クラスを扱うプログラムを作成してください。
なお、下記条件を満たすものとします。
- 車クラスを作成する
- 車クラスのフィールドはナンバー、色、乗車人数とする
- 車クラスのインスタンスの初期値はコンストラクタで設定する
- 車情報を出力するinfoメソッドを作成する
- タイヤ数を出力するtires_infoメソッドを作成する
※ tires_infoはクラスメソッドとします。
===== 車情報 =====
ナンバー : 1234
色 : 紺色
乗車人数 : 5人
タイヤ数 : 4個
===== 車情報 =====
ナンバー : 0987
色 : 赤
乗車人数 : 2人
タイヤ数 : 4個
解答例
<?php
class Car {
public static $tires = 4;
public $number;
public $color;
public $capacity;
public function __construct( $number, $color, $capacity ) {
$this->number = $number;
$this->color = $color;
$this->capacity = $capacity;
}
public static function tires_info() {
echo "タイヤ数 : ".Car::$tires."個\n";
}
public function info() {
echo "===== 車情報 =====\n";
echo "ナンバー : ".$this->number."\n";
echo "色 : ".$this->color."\n";
echo "乗車人数 : ".$this->capacity."人\n";
Car::tires_info();
}
}
$car1 = new Car('1234', '紺色', 5);
$car2 = new Car('0987', '赤', 2);
$car1->info();
$car2->info();
?>